#!/bin/bash if [ $# -lt 1 ]; then echo "Usage: $0 [upload]" exit 0 fi # assign WIFI_SSID and WIFI_PASS in external file ../info # source "../info" SKETCH="$1/$1.ino" TMP="/tmp/ESPcompile.tmp" MAKE_FILE="~/Bin/SDK/ESP/makeEspArduino/makeEspArduino.mk" ESP_SDK_ROOT=~/Bin/SDK/arduino-1.8.5/hardware/esp8266com/esp8266 # keep it without quotation marks # nodemcuv2, generic, esp8285 # F_CPU=80000000L # BUILD_EXTRA_FLAGS="-DIM_WIFI_SSID=\"$WIFI_SSID\" -DIM_WIFI_PASS=\"$WIFI_PASS\"" # make clean -f "$MAKE_FILE" ESP_ROOT=$ESP_SDK_ROOT F_CPU=80000000L CHIP=esp8266 BOARD=esp8285 SKETCH="$SKETCH" $2 stdbuf -oL make -f "$MAKE_FILE" ESP_ROOT=$ESP_SDK_ROOT F_CPU=80000000L CHIP=esp8266 BOARD=esp8285 SKETCH="$SKETCH" $2 2>&1 | tee "$TMP" if [ -s "$TMP" ]; then binSRC=$( cat "$TMP" | grep Linking | sed -e 's/Linking //g' ) cp "$binSRC" . serialPort=$(cat "$TMP" | grep "opening port" | awk '{split($0,a," "); print a[3]}') else serialPort=/dev/ttyUSB0 fi echo $serialPort exit 0 sleep 1 if cat "$TMP" | grep -q 'error'; then echo "exit" else if [ "$1" != "noserial" ]; then echo "Connecting $serialPort" while [ 1 ]; do cat $serialPort sleep 1 done else echo "Serial terminal omited" fi fi rm "$TMP"